#ifndef manejoDeListas
#define manejoDeListas

#include <semaphore.h>

/******************************************************************************
 *                    Estructuras para el manejo de peticiones                *
 ******************************************************************************/
typedef struct __attribute__ ((__packed__)){
	t_paqueteNIPC *		paquete;
	struct t_nodoNIPC*  siguiente;
} t_nodoNIPC;

typedef struct __attribute__ ((__packed__)){
	int16_t		total;
	t_nodoNIPC *cabeza;
	t_nodoNIPC *cola;
} t_listaNIPC;

/******************************************************************************
 *                        Prototipos de funciones                             *
 ******************************************************************************/
void inicializarLista(t_listaNIPC*, sem_t*);
t_nodoNIPC* crearNodo(t_paqueteNIPC*);
void agregarNodo(t_listaNIPC*, t_paqueteNIPC*, sem_t*);
t_nodoNIPC* sacarNodo(t_listaNIPC*, sem_t*);


#endif
